<!DOCTYPE html>
<html lang="zh">
    <head>
        <meta charset="UTF-8" />
        <meta http-equiv="X-UA-Compatible" content="IE=edge" />
        <meta name="viewport" content="width=device-width, initial-scale=1.0" />
        <title>Document</title>
        <script>
            /* 
                网页是自上向下加载的，如果将js代码编写到网页的上边，
                    js代码在执行时，网页还没有加载完毕，这时会出现无法获取到DOM对象的情况

                    window.onload 事件会在窗口中的内容加载完毕之后才触发
                    document的DOMContentLoaded事件会在当前文档加载完毕之后触发

                    如何解决这个问题：
                        1. 将script标签编写到body的最后（*****）
                        2. 将代码编写到window.onload的回调函数中
                        3. 将代码编写到document对象的DOMContentLoaded的回调函数中（执行时机更早）
                        4. 将代码编写到外部的js文件中，然后以defer的形式进行引入（执行时机更早，早于DOMContentLoaded）（*****）
            
            
            */

            // window.onload = function () {
            //     const btn = document.getElementById("btn")
            //     console.log(btn)
            // }

            // window.addEventListener("load", function () {
            //     const btn = document.getElementById("btn")
            //     alert(btn)
            // })

            // document.addEventListener("DOMContentLoaded", function () {
            //     const btn = document.getElementById("btn")
            //     alert(btn)
            // })
        </script>

        <script defer src="./script/script.js"></script>
    </head>
    <body>
        <button id="btn">点我一下</button>

        <iframe src="https://www.lilichao.com" frameborder="0"></iframe>

        <script>
            // const btn = document.getElementById("btn")
            // console.log(btn)
        </script>
    </body>
</html>
